package controller

import (
	"admin-system/internal/controller/auth_ctrl"
	"admin-system/internal/service"
)

type Controllers struct {
	svc        *service.Service
	AdminUser  *auth_ctrl.AdminUserController
	Menu       *auth_ctrl.MenuController
	Permission *auth_ctrl.PermissionController
	Role       *auth_ctrl.RoleController
}

func NewController(svc *service.Service) *Controllers {
	return &Controllers{
		AdminUser:  auth_ctrl.NewAdminUserController(svc.Admin),
		Menu:       auth_ctrl.NewMenuController(svc.Menu),
		Permission: auth_ctrl.NewPermissionController(svc.Permission),
		Role:       auth_ctrl.NewRoleController(svc.Role),
	}
}
